/**
 * @file
 * <pre> CPE 357 Spring 2011
 * -------------------
 *
 *  Header to "progrma header"
 *
 *  Last Modified: Sun May 13 03:15:55 AM PDT 2012</pre>
 *  @author Matthew Tondreau
 */

#ifndef _DEBUG_H_
#define _DEBUG_H_

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

#define SYSCALL( arg, msg ) {\
  if( arg ) {\
    perror(msg);\
    exit(EXIT_FAILURE);}}

#define FCALL( arg, msg ) {\
  if( arg ) {\
    fprintf(stderr,"%s:%d: %s\n",__FILE__, __LINE__,  msg);\
    exit(EXIT_FAILURE);}}

#ifdef DEBUG
#define DMSG( msg ) { fprintf(stderr,msg "\n" ); }
#define DMSG1( fmt, msg ) { fprintf(stderr,fmt "\n",msg); }
#define DMSG2( fmt, msg1, msg2 ) { fprintf(stderr,fmt "\n" ,msg1,msg2); }
#else
#define DMSG( msg ) { }
#define DMSG1( fmt, msg ) { }
#define DMSG2( fmt, msg1, msg2 ) { }
#endif 

#endif
